import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
import VueCookie from 'vue-cookie'
import env from './env'
import LazyLoad from 'vue-lazyload'
import App from './App.vue'
import {
  Message
} from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';
import router from './router'
import store from './store'
import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/css/swiper.min.css'
//准备使用mock,并要有开关
// const mock = true;
// if (mock) {
//   require("./mock/api")
// }
//根据前端的跨域方式做调整
axios.defaults.baseURL = '/api'
//对数据的返回审定时间
axios.defaults.timeout = 8000;
//根据环境变量去请求不同的地址
// axios.defaults.baseURL = env.baseURL;
//对请求返回的数据进行统一处理
axios.interceptors.response.use(response => {
  //获取后台返回的值
  let res = response.data;
  let path = location.history;
  //如果返回状态为0表示成功，正常返回数据
  if (res.status == 0) {
    return res.data;
    //返回10表示没有用户名，跳转登录名
  } else if (res.status == 10) {
    //如果发现路路径不是在主页，我们就让用户注册或者登录自己的用户名。因为用户的东西不让随意看。
    if (path != '/index') {
      window.location.href = '/login';
      return Primise.reject(res);
    }

  } else {
    // alert(res.msg);
    Message.warning(res.msg);
    //如果没有用户名。我们直接返回报错信息
    return Promise.reject(res);
  }
}, (error) => {
  let res = error.response;
  Message.error(res.data.message);
  return Promise.reject(error);
});
//使用cookies
Vue.use(VueCookie);

//按需使用elemengt-ui组件中的组件
Vue.prototype.$message = Message;
//挂载到原型上使用
Vue.use(VueAxios, axios);
//使用图片懒加载
Vue.use(LazyLoad, {
  loading: '/imgs/loading-svg/loading-bars.svg' //懒加载loading动画
});
Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')